package cn.icanci.ladybird.service;

import cn.icanci.ladybird.pojo.entity.UserInfoBuyerTicketMiddle;

import java.util.List;

/**
 * (UserInfoBuyerTicketMiddle)表服务接口
 *
 * @author makejava
 * @since 2020-09-29 20:45:17
 */
public interface UserInfoBuyerTicketMiddleService {

    /**
     * 通过ID查询单条数据
     *
     * @param userInfoBuyerTicketMiddleId 主键
     * @return 实例对象
     */
    UserInfoBuyerTicketMiddle queryById(Long userInfoBuyerTicketMiddleId);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<UserInfoBuyerTicketMiddle> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param userInfoBuyerTicketMiddle 实例对象
     * @return 实例对象
     */
    UserInfoBuyerTicketMiddle insert(UserInfoBuyerTicketMiddle userInfoBuyerTicketMiddle);

    /**
     * 修改数据
     *
     * @param userInfoBuyerTicketMiddle 实例对象
     * @return 实例对象
     */
    UserInfoBuyerTicketMiddle update(UserInfoBuyerTicketMiddle userInfoBuyerTicketMiddle);

    /**
     * 通过主键删除数据
     *
     * @param userInfoBuyerTicketMiddleId 主键
     * @return 是否成功
     */
    boolean deleteById(Long userInfoBuyerTicketMiddleId);


    /**
     * 根据用户id查询中间表对象
     * @param userInfoId 用户id
     * @return 返回查询的列表
     */
    List<UserInfoBuyerTicketMiddle> queryByUserInfoId(Long userInfoId);


    /**
     * 根据购票人id查询中间表对象
     * @param buyTicketId 购票人id
     * @return 返回查询的列表
     */
    UserInfoBuyerTicketMiddle queryByTicketId(Long buyTicketId);

    /**
     * 根据购票人id删除中间表对象
     * @param buyTicketId 购票人id
     */
    void deleteByTicketId(Long buyTicketId);
}